package kusterordonio.interfaz;

import java.awt.Color;
import java.awt.event.KeyEvent;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.*;
import javax.swing.JFrame;
import javax.swing.table.DefaultTableModel;
import kusterordonio.dominio.*;

public class VentanaControlSaludDesdeDosAnios extends javax.swing.JFrame {
    
    private SistemaCarne modelo;
    private Ninio niño;
    private FuncionesAuxiliares funcAux;
    private DefaultTableModel tabla;
    private Persona actor;
    private boolean caso;

    /** Creates new form VentanaControlSaludDesdeDosAnios */
    public VentanaControlSaludDesdeDosAnios() {
        initComponents();
    }
    
    public VentanaControlSaludDesdeDosAnios(SistemaCarne unSistema, Ninio unNiño, FuncionesAuxiliares unaFunc, Persona unActor, boolean unCaso) {
        modelo = unSistema;
        niño = unNiño;
        funcAux = unaFunc;
        tabla = new DefaultTableModel();
        actor= unActor;
        caso = unCaso;
        initComponents();
        controlGenero();
        cargarDatos();
        cargarEncabezados();
        cargarTabla();
        controlCaso();
        jBtnSalir.setMnemonic(KeyEvent.VK_S);
        jBtnConfirmar.setMnemonic(KeyEvent.VK_C);
        jLabelErrores.setVisible(false);
        jLabelErrorFecha.setVisible(false);
        jLabelErrorProximo.setVisible(false);
        jLabelValoresIncorrectos.setVisible(false);
        jDateFecha.setMaxSelectableDate(Calendar.getInstance().getTime());
        jDateFecha.setMinSelectableDate(niño.getFechaNac());
        jDateProximo.setMinSelectableDate(niño.getFechaNac());
    }

    @SuppressWarnings("unchecked")
    
    //setea los elementos de la ventana según el rol del actor
    public void controlCaso(){
        jTextPeso.setEditable(caso);
        jTextPeso.setVisible(caso);
        jTextTalla.setEditable(caso);
        jTextTalla.setVisible(caso);
        jTextPas.setEditable(caso);
        jTextPas.setVisible(caso);
        jTextPad.setEditable(caso);
        jTextPad.setVisible(caso);
        jTextObs.setEditable(caso);
        jTextObs.setVisible(caso);
        jDateProximo.setVisible(caso);
        jDateFecha.setEnabled(caso);
        jDateFecha.setVisible(caso);
        jBtnConfirmar.setVisible(caso);
        jScrollPane2.setVisible(caso);
        jScrollPane4.setVisible(caso);
        jScrollPane5.setVisible(caso);
        jTextField1.setVisible(caso);
        jTextField3.setVisible(caso);
        jTextField4.setVisible(caso);
        jTextField5.setVisible(caso);
        jTextField8.setVisible(caso);
        if (!caso)
            jScrollPane1.setBounds(20, 80, 810, 340);
    }
    
    public void cargarEncabezados(){
        tabla.addColumn("Fecha");
        tabla.addColumn("Edad");
        tabla.addColumn("Peso");
        tabla.addColumn("Talla");
        tabla.addColumn("IMC");
        tabla.addColumn("PAS");
        tabla.addColumn("PAD");
        tabla.addColumn("Observaciones");
        tabla.addColumn("Próximo Control");
        tabla.addColumn("Médico");
    }
    
    public void cargarTabla(){
       if(!niño.getCarne().esVaciaControlSaludDesdeDos()){
            //Despejamos la tabla para volver a cargarla
            int row = tabla.getRowCount();
            if(tabla.getRowCount() != 0){
                 while(row> 0){
                     tabla.removeRow(0);
                     row--;
                 }
            }
            //Cargamos la tabla
            ArrayList<ControlSaludDesdeDosAnios> lista= niño.getCarne().getControlDeSaludDesdeDos();
            SimpleDateFormat formato = new SimpleDateFormat("dd/MM/yyyy");
            for(int i=0; i<lista.size(); i++){
                Object[] linea = new Object[10]; 
                linea[0] = formato.format(lista.get(i).getFecha()); 
                linea[1] = funcAux.muestraEdad(lista.get(i).getEdad());
                linea[2] = lista.get(i).getPeso(); 
                linea[3] = lista.get(i).getTalla();
                DecimalFormat df = new DecimalFormat("0.00");
                linea[4] = df.format(lista.get(i).getImc());
                linea[5] = lista.get(i).getPas();
                linea[6] = lista.get(i).getPad();
                linea[7] = lista.get(i).getObservaciones();
                linea[8] = formato.format(lista.get(i).getProximoCont());
                linea[9] = lista.get(i).getMedico();
                tabla.addRow(linea);
            }
        }
        jTable1.setModel(tabla);
        jTable1.getColumnModel().getColumn(0).setMinWidth(70);
        jTable1.getColumnModel().getColumn(1).setMinWidth(100);
        jTable1.getColumnModel().getColumn(2).setMinWidth(40);
        jTable1.getColumnModel().getColumn(3).setMinWidth(35);
        jTable1.getColumnModel().getColumn(4).setMinWidth(40);
        jTable1.getColumnModel().getColumn(5).setMinWidth(40);
        jTable1.getColumnModel().getColumn(6).setMinWidth(40);
        jTable1.getColumnModel().getColumn(7).setMinWidth(200);
        jTable1.getColumnModel().getColumn(8).setMinWidth(90);
        jTable1.getColumnModel().getColumn(0).setMaxWidth(70);
        jTable1.getColumnModel().getColumn(1).setMaxWidth(100);
        jTable1.getColumnModel().getColumn(2).setMaxWidth(40);
        jTable1.getColumnModel().getColumn(3).setMaxWidth(35);
        jTable1.getColumnModel().getColumn(4).setMaxWidth(40);
        jTable1.getColumnModel().getColumn(5).setMaxWidth(40);
        jTable1.getColumnModel().getColumn(6).setMaxWidth(40);
        jTable1.getColumnModel().getColumn(7).setMaxWidth(200);
        jTable1.getColumnModel().getColumn(8).setMaxWidth(90);
    }
    
    public void controlGenero(){
        if (!niño.isSexo()){
            jLabelTitulo.setForeground(new java.awt.Color(255, 153, 0));
            jLabelTitular.setForeground(new java.awt.Color(255, 153, 0));
            jTextField1.setBackground(new java.awt.Color(255, 153, 0));
            jTextField3.setBackground(new java.awt.Color(255, 153, 0));
            jTextField4.setBackground(new java.awt.Color(255, 153, 0));
            jTextField5.setBackground(new java.awt.Color(255, 153, 0));
            jTextField8.setBackground(new java.awt.Color(255, 153, 0));
            jTextPane1.setBackground(new java.awt.Color(255, 153, 0));
            jTextPane3.setBackground(new java.awt.Color(255, 153, 0));
            jTextPane4.setBackground(new java.awt.Color(255, 153, 0));
        }
    }
    
    public void cargarDatos(){
        this.jLabelNombre.setText(niño.toString());
    }
    
    public void resetearElementos(){
        jTextPeso.setBackground(Color.white);
        jTextTalla.setBackground(Color.white);
        jTextPas.setBackground(Color.white);
        jTextPad.setBackground(Color.white);
        jLabelErrores.setVisible(false);
        jLabelValoresIncorrectos.setVisible(false);
    }
    
    public void resetearErroresFechas(){
        this.jLabelErrorProximo.setVisible(false);
        this.jLabelErrorFecha.setVisible(false);
    }
    
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        jPanel1 = new javax.swing.JPanel();
        jLabelTitulo = new javax.swing.JLabel();
        jScrollPane1 = new javax.swing.JScrollPane();
        jTable1 = new javax.swing.JTable();
        jBtnSalir = new javax.swing.JButton();
        jTextField1 = new javax.swing.JTextField();
        jTextField3 = new javax.swing.JTextField();
        jScrollPane2 = new javax.swing.JScrollPane();
        jTextPane1 = new javax.swing.JTextPane();
        jScrollPane4 = new javax.swing.JScrollPane();
        jTextPane3 = new javax.swing.JTextPane();
        jTextField4 = new javax.swing.JTextField();
        jTextField5 = new javax.swing.JTextField();
        jTextField8 = new javax.swing.JTextField();
        jScrollPane5 = new javax.swing.JScrollPane();
        jTextPane4 = new javax.swing.JTextPane();
        jDateFecha = new com.toedter.calendar.JDateChooser();
        jTextObs = new javax.swing.JTextField();
        jTextPad = new javax.swing.JTextField();
        jTextTalla = new javax.swing.JTextField();
        jTextPeso = new javax.swing.JTextField();
        jBtnConfirmar = new javax.swing.JButton();
        jTextPas = new javax.swing.JTextField();
        jLabel1 = new javax.swing.JLabel();
        jDateProximo = new com.toedter.calendar.JDateChooser();
        jLabelErrores = new javax.swing.JLabel();
        jLabelValoresIncorrectos = new javax.swing.JLabel();
        jSeparator1 = new javax.swing.JSeparator();
        jLabelErrorFecha = new javax.swing.JLabel();
        jLabelErrorProximo = new javax.swing.JLabel();
        jLabelProxCont = new javax.swing.JLabel();
        jLabelFechaCont = new javax.swing.JLabel();
        jLabelTitular = new javax.swing.JLabel();
        jLabelNombre = new javax.swing.JLabel();

        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);
        setTitle("Control de Salud de 2 a 12 años");
        setBounds(new java.awt.Rectangle(200, 100, 0, 0));
        setMinimumSize(new java.awt.Dimension(855, 540));
        setResizable(false);
        getContentPane().setLayout(null);

        jPanel1.setLayout(null);
        getContentPane().add(jPanel1);
        jPanel1.setBounds(96, 81, 0, 0);

        jLabelTitulo.setFont(new java.awt.Font("Tahoma", 1, 18));
        jLabelTitulo.setForeground(new java.awt.Color(51, 153, 0));
        jLabelTitulo.setText("Control de salud de 2 a 12 años");
        getContentPane().add(jLabelTitulo);
        jLabelTitulo.setBounds(20, 20, 350, 30);

        jTable1.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null},
                {null, null, null, null}
            },
            new String [] {
                "Title 1", "Title 2", "Title 3", "Title 4"
            }
        ));
        jScrollPane1.setViewportView(jTable1);

        getContentPane().add(jScrollPane1);
        jScrollPane1.setBounds(20, 170, 810, 260);

        jBtnSalir.setText("Salir");
        jBtnSalir.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jBtnSalirActionPerformed(evt);
            }
        });
        getContentPane().add(jBtnSalir);
        jBtnSalir.setBounds(380, 460, 73, 22);

        jTextField1.setBackground(new java.awt.Color(51, 153, 0));
        jTextField1.setEditable(false);
        jTextField1.setFont(new java.awt.Font("Tahoma", 1, 11));
        jTextField1.setForeground(new java.awt.Color(255, 255, 255));
        jTextField1.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        jTextField1.setText("Fecha");
        jTextField1.setMinimumSize(new java.awt.Dimension(6, 34));
        jTextField1.setPreferredSize(new java.awt.Dimension(0, 34));
        getContentPane().add(jTextField1);
        jTextField1.setBounds(20, 80, 90, 40);

        jTextField3.setBackground(new java.awt.Color(51, 153, 0));
        jTextField3.setEditable(false);
        jTextField3.setFont(new java.awt.Font("Tahoma", 1, 11));
        jTextField3.setForeground(new java.awt.Color(255, 255, 255));
        jTextField3.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        jTextField3.setText("Presión arterial");
        getContentPane().add(jTextField3);
        jTextField3.setBounds(230, 80, 110, 20);

        jTextPane1.setBackground(new java.awt.Color(51, 153, 0));
        jTextPane1.setEditable(false);
        jTextPane1.setFont(new java.awt.Font("Tahoma", 1, 11));
        jTextPane1.setForeground(new java.awt.Color(255, 255, 255));
        jTextPane1.setText("      Próximo\n       control");
        jScrollPane2.setViewportView(jTextPane1);

        getContentPane().add(jScrollPane2);
        jScrollPane2.setBounds(540, 80, 90, 40);

        jTextPane3.setBackground(new java.awt.Color(51, 153, 0));
        jTextPane3.setEditable(false);
        jTextPane3.setFont(new java.awt.Font("Tahoma", 1, 11));
        jTextPane3.setForeground(new java.awt.Color(255, 255, 255));
        jTextPane3.setText("    Talla\n    (cm)");
        jTextPane3.setPreferredSize(new java.awt.Dimension(44, 34));
        jScrollPane4.setViewportView(jTextPane3);

        getContentPane().add(jScrollPane4);
        jScrollPane4.setBounds(170, 80, 60, 40);

        jTextField4.setBackground(new java.awt.Color(51, 153, 0));
        jTextField4.setEditable(false);
        jTextField4.setFont(new java.awt.Font("Tahoma", 1, 11));
        jTextField4.setForeground(new java.awt.Color(255, 255, 255));
        jTextField4.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        jTextField4.setText("PAD");
        getContentPane().add(jTextField4);
        jTextField4.setBounds(285, 100, 55, 20);

        jTextField5.setBackground(new java.awt.Color(51, 153, 0));
        jTextField5.setEditable(false);
        jTextField5.setFont(new java.awt.Font("Tahoma", 1, 11));
        jTextField5.setForeground(new java.awt.Color(255, 255, 255));
        jTextField5.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        jTextField5.setText("PAS");
        getContentPane().add(jTextField5);
        jTextField5.setBounds(230, 100, 55, 20);

        jTextField8.setBackground(new java.awt.Color(51, 153, 0));
        jTextField8.setEditable(false);
        jTextField8.setFont(new java.awt.Font("Tahoma", 1, 11));
        jTextField8.setForeground(new java.awt.Color(255, 255, 255));
        jTextField8.setHorizontalAlignment(javax.swing.JTextField.CENTER);
        jTextField8.setText("Observaciones");
        getContentPane().add(jTextField8);
        jTextField8.setBounds(340, 80, 200, 40);

        jTextPane4.setBackground(new java.awt.Color(51, 153, 0));
        jTextPane4.setEditable(false);
        jTextPane4.setFont(new java.awt.Font("Tahoma", 1, 11));
        jTextPane4.setForeground(new java.awt.Color(255, 255, 255));
        jTextPane4.setText("    Peso\n     (gr)");
        jTextPane4.setPreferredSize(new java.awt.Dimension(40, 34));
        jScrollPane5.setViewportView(jTextPane4);

        getContentPane().add(jScrollPane5);
        jScrollPane5.setBounds(110, 80, 60, 40);

        jDateFecha.setDateFormatString("dd/MM/yyyy");
        getContentPane().add(jDateFecha);
        jDateFecha.setBounds(20, 120, 90, 22);

        jTextObs.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusLost(java.awt.event.FocusEvent evt) {
                jTextObsFocusLost(evt);
            }
        });
        getContentPane().add(jTextObs);
        jTextObs.setBounds(340, 120, 200, 22);

        jTextPad.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                jTextPadFocusGained(evt);
            }
        });
        getContentPane().add(jTextPad);
        jTextPad.setBounds(285, 120, 55, 22);

        jTextTalla.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                jTextTallaFocusGained(evt);
            }
        });
        getContentPane().add(jTextTalla);
        jTextTalla.setBounds(170, 120, 60, 22);

        jTextPeso.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                jTextPesoFocusGained(evt);
            }
            public void focusLost(java.awt.event.FocusEvent evt) {
                jTextPesoFocusLost(evt);
            }
        });
        getContentPane().add(jTextPeso);
        jTextPeso.setBounds(110, 120, 60, 22);

        jBtnConfirmar.setText("Confirmar");
        jBtnConfirmar.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jBtnConfirmarActionPerformed(evt);
            }
        });
        getContentPane().add(jBtnConfirmar);
        jBtnConfirmar.setBounds(650, 120, 80, 23);

        jTextPas.addFocusListener(new java.awt.event.FocusAdapter() {
            public void focusGained(java.awt.event.FocusEvent evt) {
                jTextPasFocusGained(evt);
            }
        });
        getContentPane().add(jTextPas);
        jTextPas.setBounds(230, 120, 55, 22);

        jLabel1.setText("* Peso (gr.) // Talla (cm.) // IMC (Indice de masa corporal)  (peso/talla al cuadrado) // PAS-PAD (Presión arterial sistólica - diastólica )");
        getContentPane().add(jLabel1);
        jLabel1.setBounds(20, 430, 810, 14);

        jDateProximo.setDateFormatString("dd/MM/yyyy");
        getContentPane().add(jDateProximo);
        jDateProximo.setBounds(540, 120, 90, 22);

        jLabelErrores.setFont(new java.awt.Font("Tahoma", 1, 11));
        jLabelErrores.setForeground(new java.awt.Color(255, 0, 0));
        jLabelErrores.setText("Hay valores inválidos en los campos marcados en rojo");
        getContentPane().add(jLabelErrores);
        jLabelErrores.setBounds(20, 60, 305, 20);

        jLabelValoresIncorrectos.setFont(new java.awt.Font("Tahoma", 1, 11));
        jLabelValoresIncorrectos.setForeground(new java.awt.Color(255, 0, 0));
        jLabelValoresIncorrectos.setText(": son incorrectos para la edad del niño");
        getContentPane().add(jLabelValoresIncorrectos);
        jLabelValoresIncorrectos.setBounds(327, 60, 220, 20);
        getContentPane().add(jSeparator1);
        jSeparator1.setBounds(0, 50, 850, 20);

        jLabelErrorFecha.setFont(new java.awt.Font("Tahoma", 1, 11));
        jLabelErrorFecha.setForeground(new java.awt.Color(255, 0, 0));
        jLabelErrorFecha.setText("Ingrese correctamente la edad: este control es sólo para niños entre 2 y 12 años");
        getContentPane().add(jLabelErrorFecha);
        jLabelErrorFecha.setBounds(20, 140, 460, 20);

        jLabelErrorProximo.setFont(new java.awt.Font("Tahoma", 1, 11));
        jLabelErrorProximo.setForeground(new java.awt.Color(255, 0, 0));
        jLabelErrorProximo.setText("Próximo control no debe ser anterior a fecha control");
        getContentPane().add(jLabelErrorProximo);
        jLabelErrorProximo.setBounds(490, 140, 340, 20);

        jLabelProxCont.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseEntered(java.awt.event.MouseEvent evt) {
                jLabelProxContMouseEntered(evt);
            }
        });
        getContentPane().add(jLabelProxCont);
        jLabelProxCont.setBounds(510, 110, 110, 40);

        jLabelFechaCont.addMouseListener(new java.awt.event.MouseAdapter() {
            public void mouseEntered(java.awt.event.MouseEvent evt) {
                jLabelFechaContMouseEntered(evt);
            }
        });
        getContentPane().add(jLabelFechaCont);
        jLabelFechaCont.setBounds(10, 110, 110, 40);

        jLabelTitular.setFont(new java.awt.Font("Tahoma", 1, 14));
        jLabelTitular.setForeground(new java.awt.Color(51, 153, 0));
        jLabelTitular.setText("Titular:");
        getContentPane().add(jLabelTitular);
        jLabelTitular.setBounds(540, 25, 50, 20);

        jLabelNombre.setFont(new java.awt.Font("Tahoma", 1, 14));
        getContentPane().add(jLabelNombre);
        jLabelNombre.setBounds(600, 25, 220, 20);

        pack();
    }// </editor-fold>//GEN-END:initComponents
    private void jBtnSalirActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jBtnSalirActionPerformed
        this.dispose();
    }//GEN-LAST:event_jBtnSalirActionPerformed

    private void jBtnConfirmarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jBtnConfirmarActionPerformed
        if(jDateFecha.getDate() != null 
                && !niño.controlEdad(jDateFecha.getDate(), 730)//Niño mayor de 2 años
                && niño.controlEdad(jDateFecha.getDate(), 4645)//Niño menor de 12 años
                && modelo.controlEnteroPos(jTextPeso.getText())
                && modelo.controlEnteroPos(jTextTalla.getText())
                && modelo.controlEnteroPos(jTextPad.getText())
                && modelo.controlEnteroPos(jTextPas.getText())
                //Controla valores correctos para la edad)
                && niño.controlMedidasDesdeDos(niño.calculoEdad(jDateFecha.getDate()), 
                        Integer.parseInt(jTextPeso.getText()),
                        Integer.parseInt(jTextTalla.getText()),
                        Integer.parseInt(jTextPas.getText()),
                        Integer.parseInt(jTextPad.getText()))
                && jDateProximo.getDate() != null
                && modelo.comparaFechas(jDateProximo.getDate(),jDateFecha.getDate())){//Próximo control mayor que fecha control)
            
                ControlSaludDesdeDosAnios nuevo= new ControlSaludDesdeDosAnios(jDateFecha.getDate(),
                        niño.calculoEdad(jDateFecha.getDate()),
                        Integer.parseInt(jTextPeso.getText()),
                        Integer.parseInt(jTextTalla.getText()),
                        jDateProximo.getDate(),
                        actor,
                        Integer.parseInt(jTextPas.getText()),
                        Integer.parseInt(jTextPad.getText()));
           nuevo.setImc(nuevo.indiceMasaCorp(Integer.parseInt(jTextPeso.getText()), Integer.parseInt(jTextTalla.getText())));
           nuevo.setObservaciones(jTextObs.getText());
           niño.getCarne().agregarControlSaludDesdeDos(nuevo);
           //vaciar campos
           jDateFecha.setDate(null);
           jTextPeso.setText("");
           jTextTalla.setText("");
           jTextPas.setText("");
           jTextPad.setText("");
           jTextObs.setText("");
           jDateProximo.setDate(null);
           cargarTabla();
        }
        else{
            if(jDateFecha.getDate() != null
                    && niño.controlEdad(jDateFecha.getDate(), 730)||!niño.controlEdad(jDateFecha.getDate(), 4645)){
                jLabelErrorFecha.setVisible(true);
            }
            if(jDateFecha.getDate() == null){
                jLabelErrorFecha.setVisible(true);
                jLabelErrorProximo.setVisible(true);
            }    
            if(jDateFecha.getDate() != null && jDateProximo.getDate() != null
                    && !modelo.comparaFechas(jDateProximo.getDate(),jDateFecha.getDate())){
                jLabelErrorProximo.setVisible(true);
            }
            if(jDateProximo.getDate() == null){
                jLabelErrorProximo.setVisible(true);
            }
            if(!modelo.controlEnteroPos(jTextPeso.getText())){
                jLabelErrores.setVisible(true);
                jTextPeso.setBackground(Color.red);
            }
            if(!modelo.controlEnteroPos(jTextTalla.getText())){
                jLabelErrores.setVisible(true);
                jTextTalla.setBackground(Color.red);
            }
            if(!modelo.controlEnteroPos(jTextPas.getText())){
                jLabelErrores.setVisible(true);
                jTextPas.setBackground(Color.red);
            }
            if(!modelo.controlEnteroPos(jTextPad.getText())){
                jLabelErrores.setVisible(true);
                jTextPad.setBackground(Color.red);
            }
            if(modelo.controlEnteroPos(jTextPeso.getText())
                && modelo.controlEnteroPos(jTextTalla.getText())
                && modelo.controlEnteroPos(jTextPas.getText())
                && modelo.controlEnteroPos(jTextPad.getText())){
                if (!niño.controlMedidasDesdeDos(niño.calculoEdad(jDateFecha.getDate()),
                        //Controla valores correctos para la edad 
                        Integer.parseInt(jTextPeso.getText()),
                        Integer.parseInt(jTextTalla.getText()),
                        Integer.parseInt(jTextPas.getText()),
                        Integer.parseInt(jTextPad.getText()))){
                        jLabelValoresIncorrectos.setVisible(true);
                        jLabelErrores.setVisible(true);
                        jTextPeso.setBackground(Color.red);
                        jTextTalla.setBackground(Color.red);
                        jTextPas.setBackground(Color.red);
                        jTextPad.setBackground(Color.red);
                }
            }
        }
    }//GEN-LAST:event_jBtnConfirmarActionPerformed

    private void jLabelProxContMouseEntered(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabelProxContMouseEntered
        resetearErroresFechas();
    }//GEN-LAST:event_jLabelProxContMouseEntered

    private void jLabelFechaContMouseEntered(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_jLabelFechaContMouseEntered
        resetearErroresFechas();
    }//GEN-LAST:event_jLabelFechaContMouseEntered

    private void jTextObsFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_jTextObsFocusLost
        resetearErroresFechas();
    }//GEN-LAST:event_jTextObsFocusLost

    private void jTextPesoFocusLost(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_jTextPesoFocusLost
        resetearErroresFechas();
    }//GEN-LAST:event_jTextPesoFocusLost

    private void jTextPesoFocusGained(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_jTextPesoFocusGained
        resetearElementos();
    }//GEN-LAST:event_jTextPesoFocusGained

    private void jTextTallaFocusGained(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_jTextTallaFocusGained
        resetearElementos();
    }//GEN-LAST:event_jTextTallaFocusGained

    private void jTextPasFocusGained(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_jTextPasFocusGained
        resetearElementos();
    }//GEN-LAST:event_jTextPasFocusGained

    private void jTextPadFocusGained(java.awt.event.FocusEvent evt) {//GEN-FIRST:event_jTextPadFocusGained

        resetearElementos();     }//GEN-LAST:event_jTextPadFocusGained
   
    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton jBtnConfirmar;
    private javax.swing.JButton jBtnSalir;
    private com.toedter.calendar.JDateChooser jDateFecha;
    private com.toedter.calendar.JDateChooser jDateProximo;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabelErrorFecha;
    private javax.swing.JLabel jLabelErrorProximo;
    private javax.swing.JLabel jLabelErrores;
    private javax.swing.JLabel jLabelFechaCont;
    private javax.swing.JLabel jLabelNombre;
    private javax.swing.JLabel jLabelProxCont;
    private javax.swing.JLabel jLabelTitular;
    private javax.swing.JLabel jLabelTitulo;
    private javax.swing.JLabel jLabelValoresIncorrectos;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JScrollPane jScrollPane2;
    private javax.swing.JScrollPane jScrollPane4;
    private javax.swing.JScrollPane jScrollPane5;
    private javax.swing.JSeparator jSeparator1;
    private javax.swing.JTable jTable1;
    private javax.swing.JTextField jTextField1;
    private javax.swing.JTextField jTextField3;
    private javax.swing.JTextField jTextField4;
    private javax.swing.JTextField jTextField5;
    private javax.swing.JTextField jTextField8;
    private javax.swing.JTextField jTextObs;
    private javax.swing.JTextField jTextPad;
    private javax.swing.JTextPane jTextPane1;
    private javax.swing.JTextPane jTextPane3;
    private javax.swing.JTextPane jTextPane4;
    private javax.swing.JTextField jTextPas;
    private javax.swing.JTextField jTextPeso;
    private javax.swing.JTextField jTextTalla;
    // End of variables declaration//GEN-END:variables
}
